//
//  ExModifySizeViewController.m
//  OC-Example
//
//  Created by apang on 2018/7/31.
//  Copyright © 2018年 apang.men All rights reserved.
//

#import "ExModifySizeViewController.h"
#import "ExAutoHeightTableViewCell.h"

@interface ExModifySizeViewController ()<UITableViewDelegate,UITableViewDataSource>

@property (nonatomic , strong) UITableView * tableView;

@property (nonatomic , copy) NSArray * texts;

@end

@implementation ExModifySizeViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    [self.view setBackgroundColor:[UIColor whiteColor]];

    self.title = @"动态计算cell文本高度";

    _tableView = [[UITableView alloc] init];

    [_tableView setTranslatesAutoresizingMaskIntoConstraints:NO];

    [self.view addSubview:_tableView];
    
    if (@available(iOS 11.0, *)) {
        _tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
    }

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(0)-[_tableView]-(0)-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_tableView)]];
    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-(0)-[_tableView]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_tableView)]];
    [self.view addConstraint:[NSLayoutConstraint constraintWithItem:_tableView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottomMargin multiplier:1.0 constant:0.0]];
    [_tableView registerClass:[ExAutoHeightTableViewCell class] forCellReuseIdentifier:@"modify"];
    _tableView.rowHeight = UITableViewAutomaticDimension;
    _tableView.estimatedRowHeight = 50;
    _tableView.delegate = self;

    _tableView.dataSource = self;

    _tableView.tableFooterView = [UIView new];

    _texts = @[@"大海因为有了波澜所以更加雄伟壮阔，人生因为有了遗憾所以更加珍惜懂得。倘若未曾有过遗憾的痛。今天也不至于学会懂。倘若未曾有过遗憾的伤，今天也不至于坚强。谁今天的坚强，不是用曾经的那些憾缺构筑起来的成长。",@"世间少有一直风平浪静的海，同样也少有一生万事如意的人。无论我们多不愿意，在我们生命中，或多或少都会有一个缺角的遗憾。也许是一个未能见到的人，也许是一件未能完成的事，又也许是一句来不及对别人说的话。",@" 曾经年少轻狂，以为很多世事都来得及，可谁又知道，当初以为的来日方长，如今回首，却只能叹世事无常。人的一生，可能长到几万个日日夜夜，也有可能短到静止在下一分钟。生命无常，世事难料，很些事，今天不做可能就永远没有机会了。有些事，一旦错过，哪怕只是一分钟，也永远回不去了。",@"曾经，我错过了要见最后一面的人，也错过了要一起走下去的人。我的那一句来不及说的我爱你，让她离我而去，我的那一句来不及说的对不起，让她远走高飞。我有想要感谢的人却不知道他在那里，我有想要道歉的人，却杳无音讯。童年时一起长大的伙伴，再见时却无话可谈。曾经一起患难与共的兄弟如今却各奔东西。生命里总是有太多遗憾，可是些许遗憾却是不可避免的，所以我也只能在一个人的时候，静静的想想。",@"时光无情，岁月苍凉。蓦然回首，发现你已经不再是那个曾经的你，而我也不再是曾经的那个我，可遗憾我还时常在想念那个曾经的你、怀念曾经的我们！时光如水，经年匆匆，我们都长大了、并且正如花般走向凋谢，可我们却分开了，分得越来越远，直到失去了彼此的消息。我们都是一起长大的孩子，可惜我们却再也回不到那个一大群小伙伴在一起嬉耍打闹的年纪！那些曾经熟悉的场景如今却只能出现在梦里和心底里，偶尔梦到或想起都感觉是那么的惊喜。"];
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    return _texts.count;
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

    return [ExAutoHeightTableViewCell cellHeightWithString:_texts[indexPath.row]];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    ExAutoHeightTableViewCell * cell = (ExAutoHeightTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"modify"];

    if (!cell) {
        cell = [[ExAutoHeightTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"modify"];
    }

    cell.textContent = _texts[indexPath.row];

    return cell;
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end
